setTimeout(function f1() {
    console.log('setTimeout')
}, 5000)
console.log('hello')

// 执行过程

// hello

// 检查是否要进入事件循环 要 （定时器）

// 进入 timers 队列 没有回调 进入下一个阶段 poll

// poll 队列 没有回调 一直等待（还有要等待的东西）

// 定时器事件到了 f1 被添加到 timers, poll 队列结束  进入下一个阶段 check

// check 队列 没有回调 完成

// 检查是否要进入事件循环 要

// 进入 timers 队列 有回调 执行回调  进入下一个阶段 poll

// poll 队列 没有回调 结束（没有要等待的东西）进入下一个阶段 check

// check 队列 没有回调 完成

// 检查是否要进入事件循环 不要 

// 结束